'use strict';

/**
 * 简化版反馈提交云函数 - 用于调试
 * 这是一个用于排查问题的简化版本
 */
exports.main = async (event, context) => {
  console.log('=== 简化版云函数开始执行 ===');
  console.log('接收到的event:', JSON.stringify(event, null, 2));
  
  try {
    // 第一步：测试基本功能
    console.log('第一步：基本功能测试通过');
    
    // 第二步：测试数据库连接
    console.log('第二步：开始测试数据库连接');
    const db = uniCloud.database();
    console.log('数据库对象创建成功');
    
    const collection = db.collection('feedback');
    console.log('feedback集合获取成功');
    
    // 第三步：测试简单数据插入
    console.log('第三步：测试数据插入');
    const testData = {
      name: event.name || 'Test User',
      contact: event.contact || 'test@example.com',
      type: event.type || '测试',
      description: event.description || 'This is a test',
      createTime: new Date().getTime(),
      createDate: new Date(),
      status: 'pending'
    };
    
    console.log('准备插入的测试数据:', JSON.stringify(testData, null, 2));
    
    const result = await collection.add(testData);
    console.log('数据插入成功，返回结果:', JSON.stringify(result, null, 2));
    
    return {
      code: 200,
      message: '简化版测试成功！数据已插入数据库',
      data: {
        id: result.id,
        insertedData: testData,
        timestamp: new Date().toISOString()
      },
      debug: {
        step: 'ALL_STEPS_COMPLETED',
        databaseResult: result
      }
    };
    
  } catch (error) {
    console.error('=== 简化版云函数执行失败 ===');
    console.error('错误类型:', error.constructor.name);
    console.error('错误消息:', error.message);
    console.error('错误代码:', error.code);
    console.error('完整错误:', JSON.stringify(error, null, 2));
    console.error('错误堆栈:', error.stack);
    
    return {
      code: 500,
      message: '简化版测试失败',
      data: null,
      debug: {
        errorType: error.constructor.name,
        errorMessage: error.message,
        errorCode: error.code || 'NO_CODE',
        errorStack: error.stack,
        fullError: JSON.stringify(error, Object.getOwnPropertyNames(error))
      }
    };
  }
};
